-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Big change #3
base: main
Are you sure you want to change the base?
Big change #3
Conversation
…nstead). Added ability to change config in the menu. Added more customization options in the context of GPT, like being able to have different models for different prompts and also making it so that you can provided system/assistant/user messages in an array. Added the ability to save selection for use later on, for example if you want to insert some completion somewhere instead of replacing. I did some more smaller things.
Hey, thank you very much for the contribution! That looks very nice. I will take a closer look tomorrow. Just a quick question upfront: What is the advantage of using memento storage instead of settings in your opinion? I kind of like being able to see my configured brushes in the settings files. |
Looking at it again now, there's definitively some bugs with the "variable replacing" but I can fix it soon :). Using node would be a more difficult change for me though. Sorry for making everything in such a big commit I did not do it planning to spend this much effort on it |
…lso added slightly better defaults
It's not really about just using memento storage that makes it better, but by the way you edit configs. Now you can click edit a category or brush and then a text editor pops up that contains only the configuration for that item. Same if you create a new brush or category, then a brush or category template pops up. When you save the file it's automatically closed and it's immediately updated in the tree view. This makes it much quicker to edit the configurations. We could also support YAML, having multiline strings would save a lot of headache. EDIT: I've now added YAML and JSON5 support. I also want to add that the reason I chose Memento over the config file is because it's much easier to use the edit buttons than going into the config manually anyways and Memento is faster than the config. We can still use the config file for general options. |
…n prompt not literally replace the brush and save the changes in config
I had a closer look today. I definitely like the easy edit experience, although I'm going to think a bit more about config in general, as I also want to make it easy to have brushes as part of a workspace so that they can be shared in Git etc. I also want the extension to be easily extendable for other "brush providers" in the future, possibly coming from other extensions. This is why I introduced some command abstractions in my last commit. I will have to see how to best combine that with your additions. I will include the changes piece by piece. That is going to take some time, as I'm a bit busy the next days, but we will get there. Also I noticed some small bugs during testing:
Also, when installing the application it asked me to install the JSON5 extension. I'm not convinced it is worth requiring that dependency just for JSON5 syntax or if we need to support both JSON and YAML for that matter. YAML seems to be a good choice in that regard. |
I will write a better response tomorrow as I really need to sleep but that sounds like a good plan :) Yes there's definitively some bugs lurking, and also sections of code I definitively want to improve more genrally. The add brush button in the top right is just straight up not implemented and should be removed. I agree that we should not have a dependency on the json5 extension, YAML would probably be enough but maybe we can keep the json5 package (not extension) if it doesn't take up much space just for the hell of it 🤷♂️ |
also made edit button not create new files
About sharing brushes, we could make an export option to export all of the brushes and also have the ability to import all of them. Could be saved as a compressed file. I've also made some updates to make the config work better now, which fixes the 3 bugs you mentioned. As a side note, I really like your idea about using Javascript inside of brushes, something I think would be extra cool is having the ability to execute other brushes from within brushes. This way you can for example parse the GPT result and do loops with GPT prompts to generate more advanced behavior. You could also of course just do some Regex stuff without GPT and that would be super useful also. PS. I've added some ideas to the PR description TODO list. PS2. Before progressing further I will try to make my changes compatible with what you've already done. Try to update the repo often if you make changes and I will try to do it within a week or so :) |
… where variables weren't replaced.
Note: This change overwrites your recent commit.
You probably want to merge this into a dev branch or something.
Things left to do:
(EDIT) New commits:
(EDIT2) More ideas